package com.uzai.console.service.md.mdactivity;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.uzai.console.dto.md.mdactivity.MdActivityCopyDto;
import com.uzai.console.dto.md.mdactivity.MdActivityDto;
import com.uzai.console.dto.md.mdactivity.MdActivityIdDto;
import com.uzai.console.dto.md.mdactivity.MdActivityQuery;
import com.uzai.console.dto.md.mdgoods.MdGoodsTurnlinkDto;
import com.uzai.console.entity.MdActivity;
import com.uzai.console.vo.feign.turnlink.SimpleTurnlinkVo;
import com.uzai.console.vo.md.mdactivity.MdActivityCopyUrlVo;
import com.uzai.console.vo.md.mdactivity.MdActivityVo;
import com.uzai.console.vo.md.mdgoods.MdGoodsTurnlinkVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface MdActivityService {

    /**
     * 查询免单活动列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityQuery
     * @return null
     */
    Page<MdActivityVo> findMdActivityList(MdActivityQuery mdActivityQuery);

    /**
     * 查询免单活动详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityIdDto
     * @return null
     */
    MdActivityVo findMdActivity(MdActivityIdDto mdActivityIdDto);

    /**
     * 添加免单活动
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityInfoDto
     * @return null
     */
    void addMdActivity(MdActivityDto mdActivityInfoDto);

    /**
     * 修改免单活动
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityInfoDto
     * @return null
     */
    void updateMdActivity(MdActivityDto mdActivityInfoDto);

    /**
     * 删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityIdDto
     * @return null
     */
    void deleteMdActivity(MdActivityIdDto mdActivityIdDto);

    /**
     * 暂停免单活动
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityIdDto
     * @return null
     */
    void pauseMdActivity(MdActivityIdDto mdActivityIdDto);

    /**
     * 开启免单活动
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityIdDto
     * @return null
     */
    void startMdActivity(MdActivityIdDto mdActivityIdDto);

    /**
     * 复制免单活动
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityCopyDto
     * @return null
     */
    void copyMdActivity(MdActivityCopyDto mdActivityCopyDto);

    /**
     * 复制链接
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivityIdDto
     * @return null
     */
    MdActivityCopyUrlVo copyUrl(MdActivityIdDto mdActivityIdDto);

    /**
     * 获取商品转链信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdGoodsTurnlinkDto
     * @return null
     */
    MdGoodsTurnlinkVo getGoodsTurnlinkInfo(MdGoodsTurnlinkDto mdGoodsTurnlinkDto);

    /**
     * 自动检测免单活动是否下架
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param mdActivity
     * @return null
     */
    void autoCheckMdGoodsDrop(MdActivity mdActivity);

}
